package org.android.SuperList;


import android.app.Activity;
import android.os.Bundle;
import android.database.Cursor;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;


public class EditasListas extends Activity
{
	
	private EditText etxLISTA;
	private EditText etxPRESUPUESTO;
	private Long ID_LISTA;
	private DbAdapter mDbHelper;
	
	protected void onCreate(Bundle savedInstaceState)
	{
		super.onCreate(savedInstaceState);
		mDbHelper= new DbAdapter(this);
		mDbHelper.open();
		setContentView(R.layout.editalista);
		etxLISTA = (EditText) findViewById(R.id.etxNombreLista);
		etxPRESUPUESTO = (EditText) findViewById(R.id.etxPresupuesto);
		Button btnAceptar = (Button) findViewById(R.id.btn_aceptar);
		
		ID_LISTA = savedInstaceState != null ? savedInstaceState.getLong(DbAdapter.ID) :null;
		
		if (ID_LISTA == null) 
		{
			Bundle extras = getIntent().getExtras();            
			ID_LISTA = extras != null ? extras.getLong(DbAdapter.ID): null;
		}
		
		btnAceptar.setOnClickListener(new View.OnClickListener()		
		{
			public void onClick(View view)
			{
				GuardaDatos();
				setResult(RESULT_OK);
        	    finish();
        	    mDbHelper.close();
			}			
		}			
		);			
	}
	
	private void CargaInformacion()
	{
		if(ID_LISTA != null)
		{
			Cursor Lista = mDbHelper.RecuperaRegistros(DbAdapter.TABLA_LISTAS,ID_LISTA);
			startManagingCursor(Lista);
			etxLISTA.setText(Lista.getString(Lista.getColumnIndexOrThrow(DbAdapter.LISTA)));
			etxPRESUPUESTO.setText(Lista.getString(Lista.getColumnIndexOrThrow(DbAdapter.PRESUPUESTO)));			
		}		
	}

	@Override
	protected void onSaveInstanceState(Bundle outState) 
    {
        super.onSaveInstanceState(outState);
        outState.putLong(DbAdapter.ID, ID_LISTA);
    }
    
	@Override
    protected void onResume() 
    {
        super.onResume();
        CargaInformacion();
    }

	@Override
	protected void onPause()
	{
		super.onPause();			
	}
	
	private void GuardaDatos()
	{
		try
		{
		String[] Valores;
		
		if(ID_LISTA == null)
		{
			Valores = new String[]{null,etxLISTA.getText().toString(),etxPRESUPUESTO.getText().toString()};
			long id= mDbHelper.creaRegistro(DbAdapter.TABLA_LISTAS,Valores);
			if(id>0)
			{
				ID_LISTA=id;
			}
		}
		else
		{	Valores = new String[]{ID_LISTA.toString(),etxLISTA.getText().toString(),etxPRESUPUESTO.getText().toString()};
			mDbHelper.actualizaRegistro(DbAdapter.TABLA_LISTAS,Valores);
		}	
		}
		catch(Exception E)
		{
			Log.e("EditaListas.java","Error: "+E);
		}
	}
}
